# coding: utf-8
# 三人斗地主手牌规则：一副牌54张（4种花色各13张，大小王），一人17张，留3张做底牌。
# 要求：将一副牌随机打乱（洗牌）后分配给3位玩家（发牌），输出每个人的手牌和剩余底牌。
# 可使用list和random完成。

# #生成手牌（第一种方法，用函数）
# def JQK(i):     # 生成字母
#     if i == 1:
#         return 'A'
#     elif i == 11:
#         return 'J'
#     elif i == 12:
#         return 'Q'
#     elif i == 13:
#         return 'K'
#     else:
#         return str(i)
# def pai():      # 生成花形
#     lst = []        # 空列表
#     for i in range(1, 14):      # 13张黑桃
#         lst.append('黑桃%s' % (JQK(i)))
#     for i in range(1, 14):      # 13张红桃
#         lst.append('红桃%s' % (JQK(i)))
#     for i in range(1, 14):      # 13张方块
#         lst.append('方块%s' % (JQK(i)))
#     for i in range(1, 14):      # 13张梅花
#         lst.append('梅花%s' % (JQK(i)))
#     lst.append('大王')
#     lst.append('小王')
#     return lst[:]       # 一定要返回值，不然后会报错
# # print(len(pai()))     # 检查牌的数量
# l = pai()       # 把牌面赋值给l

# 第2种生成牌的方法
num = ('A', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K')
huaxing = ('黑桃', '红桃', '方块', '梅花')
l = []
for i in huaxing:
    for j in num:
       l.append(i + j)
l.append('大王')
l.append('小王')
# print(len(l[:]))

# 开始发牌
import random
random.shuffle(l)       # 打乱牌面
# print(l)      # 查看牌面
wanjia1, wanjia2, wanjia3, dipai = l[:17], l[17:34], l[34:51], l[51:]
print('玩家1的牌面是：%s。\n玩家2的牌面是：%s。\n玩家3的牌面是：%s。\
\n底牌是：%s。' % (wanjia1, wanjia2, wanjia3, dipai))
# print(len(wanjia1), len(wanjia2), len(wanjia3), len(dipai))       # 查看各家手牌数量